'''
import numpy as np
import random
x=random(8)
y=random(8)

print(x)
np.abs(x)、np.fabs(x) ： 计算数组各元素的绝对值
np.sqrt(x) ： 计算数组各元素的平方根
np.square(x) ： 计算数组各元素的平方
np.log(x) 、np.log10(x)、np.log2(x) ： 计算数组各元素的自然对数、10底对数和2底对数
np.ceil(x) 、np.floor(x) ： 计算数组各元素的ceiling值或floor值
np.rint(x) ： 计算数组各元素的四舍五入值
np.modf(x) ： 将数组各元素的小数和整数部分以两个独立数组形式返回
np.cos(x)、 np.cosh(x)、np.sin(x)、 np.sinh(x)、np.tan(x) 、np.tanh(x) ： 计算数组各元素的普通型和双曲型三角函数
np.exp(x) ： 计算数组各元素的指数值
np.sign(x) ： 计算数组各元素的符号值，1(+), 0, ‐1(‐)

import matplotlib.pyplot as plt
a=np.arange(-5 , 5  ,0.01)
x,y=np.meshgrid(a,a)
z=np.sqrt(x**2+y**2)
plt.imshow(z,cmap=plt.cm.gray)
plt.colorbar()
plt.show()
a=np.random.sample(size=(4,4))
print(a)
'''
import numpy as np
import pandas as pd
import sys
from pandas import Series,DataFrame
'''
a=Series([2,5,6,7,-1])
print(a)
print(a.values)
print(a.index)
print(a[0])
df=pd.read_csv("c:/code/weather_2012.csv")
print(df)
'''
from math import log
dataSet = [[1,1,'yes'],
               [1,1, 'yes'],
               [1,0,'no'],
               [0,1,'no'],
               [0,1,'no']]
numEntries=len(dataSet)  # 数据条数
labelCounts={}
for featVec in dataSet:
        currentLabel=featVec[-1] # 每行数据的最后一个字（类别）
        if currentLabel not in labelCounts.keys():
            labelCounts[currentLabel]=0
        labelCounts[currentLabel]+=1  # 统计有多少个类以及每个类的数量
shannonEnt=0
print(labelCounts)
for key in labelCounts:
        prob=float(labelCounts[key])/numEntries # 计算单个类的熵值
        shannonEnt-=prob*log(prob,2) # 累加每个类的熵值
print(shannonEnt)

dataSet = [['长', '粗', '男'],
               ['短', '粗', '男'],
               ['短', '粗', '男'],
               ['长', '细', '女'],
               ['短', '细', '女'],
               ['短', '粗', '女'],
               ['长', '粗', '女'],
               ['长', '粗', '女']]
print(".......")
labels = ['身高','头发','声音']
subLabels = labels[:]
print( subLabels )
